It frequently occurs in a network that data is transmitted by a sender to a number of receivers. Such data transmission is also referred to as ‘one-to-many’ or multicast distribution, but may also take place within the context of ‘many-to-many’ distribution.
For example, within the context of MPEG-DASH (Dynamic Adaptive Streaming over HTTP), many receivers may simultaneously request the same data (e.g., a DASH segment) using HTTP, possibly at the same time when requesting a live stream. Since HTTP is a unicast mechanism, this delivery is not efficient as it requires the network to have a relatively large transport capacity for what is essentially a transmission of many duplicates of the data. For increasing the efficiency of the data delivery, HTTP caches may be used. However, video sessions use much more data than normal web browsing. As such, relatively large HTTP caches may be needed. Moreover, in the access network, which usually has a tree-like structure with multiple levels, placing HTTP caches too ‘low’ in the network tree (too nearby the receivers) results in few receivers per HTTP cache, and would thus be quite expensive. Conversely, placing HTTP caches too ‘high’ in the network tree requires the network to have more transport capacity, which is also quite expensive.
Aside of MPEG-DASH, similar problems occur where many receivers need to be provided with (large amounts of) essentially the same data in a reliable manner. Examples include the delivery of software updates, preloading of media content, etc. The problem may occur in all kinds of (combinations of) networks, e.g., ADSL, DOCSIS, mobile, fiber, etc.
To address the above problem(s), so-termed ‘reliable multicasting’ techniques have been developed which allow such data to be efficiently distributed within the network. Here, the adjective ‘reliable’ indicates that the multicasting technique employs a delivery mechanism which, under normal circumstances, ensures the delivery of a packet, and that packets will be delivered in order. An example is multicast Transport Control Protocol (TCP) over Internet Protocol (IP). Another example is File Delivery over Unicast Transport (FLUTE). Disadvantageously, current reliable multicast techniques typically require at least some change in the receiver, and will thus not work with ‘off-the-shelf’ unicast receivers. Current reliable multicast techniques also do not work with current Hypertext Transfer Protocol (HTTP) mechanisms, as HTTP is used in an interactive unicast fashion. Yet another disadvantage is that existing reliable multicast techniques will be limited in speed, as they have to accept TCP congestion management.